Various types of systems are utilized to transmit information between a source and a destination. Existing systems use wire-based or cable-based communication links to transmit information between various sources and destinations. These communication links may become problematic when extended over long distances. For example, the use of cable-based communication links may not be feasible between different continents or other geographic areas not easily serviced by cable-based communication links.
In many situations, the costs associated with installing cable-based communication links is prohibitive. For example, in remote areas without any type of existing communication system, it may be too expensive to install cable-based communication links. If additional transmission capacity is needed on existing cable-based communication links, it may be too expensive to install additional cables across oceans, mountains, and other geographic obstacles. Additionally, in locations requiring communication links on a temporary basis, it may not be feasible to install cable-based communication links for the temporary requirements.
Thus, wirebased or cable-based communication links encounter problems with a variety of obstacles, including land rights, river crossings, mountainous terrain, lakes, and oceans. Even without geographic obstacles, remote areas or areas separated by a significant distance may not be serviced economically using wire-based or cable-based communication links. Therefore, solutions must be developed to overcome these obstacles and permit communication links having the necessary bandwidth for communicating data between two locations.
Satellite transmission systems and other wireless systems provide communication links that do not require the installation of wires or cables across geographic obstacles. However, satellite communication links have a high latency due to the significant distances over which the data is transmitted. This high latency may cause problems with the flow of data using certain transmission protocols. For example, the flow of Internet Protocol (IP) data is reduced by the source if the source detects significant delays in receiving acknowledgments from the destination. Typically, a significant delay in receiving acknowledgments indicates congestion on the communication link. Therefore, using a high-latency satellite communication link to transmit IP data is likely to cause the data source to reduce the flow of data, even if the communication link is not congested.
Additionally, asymmetrical communication links may cause problems with the transmission of certain types of data. An asymmetrical communication link has a different latency in each direction (e.g., high-latency communication in one direction and low latency communication in the opposite direction). Alternatively, an asymmetrical communication link may have different bandwidths or different communication rates in opposite directions. This asymmetry can cause problems with the flow of data using certain transmission protocols. For example, a source of Internet Protocol (IP) data reduces the outgoing flow of IP data if the source detects significant delays in receiving acknowledgments from the destination. Variations in delays in receiving acknowledgments over a low bandwidth incoming link could cause the source to reduce the flow of data over the outgoing link, even though the outgoing link has adequate capacity to handle the data flow.
Problems may also occur in transmission systems that have high-bandwidth communication links. On high-bandwidth communication links, if a large amount of data is sent and the sequence numbers (or other data identifiers) are repeated, a delayed acknowledgment of a previously sent message may be identified as a new data message. For example, the Internet Protocol uses sequence numbers in each packet which identify the packet's position in the overall data stream. The sequence numbers are incremented to a fixed limit, and then start again at zero. If the sequence numbers are used up quickly, as is possible in a very high bandwidth link, it is possible that duplicate sequence numbers are active within the link at the same time. At the receiving end, when the data streams are reassembled, the packets with duplicate sequence numbers may be assigned to the wrong data stream.
It is therefore desirable to provide a system for generating acknowledgment signals in a manner that permits the efficient transmission of data across high-latency communication links and asymmetrical communication links, as well as high-bandwidth communication links.